The present invention relates to a method and apparatus for allowing a personal computer to receive data from a computer network such as the Internet via a broadcast channel, e.g., of a cable or satellite television network, while transmitting data upstream to the computer network via a telephone line.
The following acronyms are used:
ARPxe2x80x94Address Resolution Protocol;
CPUxe2x80x94Central Processing Unit;
DHCPxe2x80x94Dynamic Host Configuration Protocol;
HTTPxe2x80x94Hyper Text Transport Protocol;
IETFxe2x80x94Internet Engineering Task Force;
IETFxe2x80x94Internet Engineering Task Force;
IGMPxe2x80x94Internet Group Management Protocol;
IPxe2x80x94Internet Protocol;
IPCPxe2x80x94Internet Protocol Configuration Protocol;
ISPxe2x80x94Internet Service Provider;
LANxe2x80x94Local Area Network;
LMDSxe2x80x94Local Multi-point Distribution System;
MMDSxe2x80x94Multi-channel Multi-point Distribution System;
MSOxe2x80x94Multiple Systems Operator;
PCxe2x80x94Personal Computer;
PPPxe2x80x94Point-to-Point Protocol;
PPRAxe2x80x94Packet Processing Relay Agent;
RFxe2x80x94Radio Frequency;
RFCxe2x80x94Request For Comments;
TCPxe2x80x94Transmission Control Protocol;
UDPxe2x80x94User Datagram Protocol;
UHFxe2x80x94Ultra High Frequency; and
WANxe2x80x94Wide Area Network.
Existing cable television networks deliver digital television signals to users"" homes via coaxial cable, or hybrid fiber and coaxial cable networks. Additionally, satellite distribution networks that transmit programs directly to a user""s home have also gained increased popularity. The digital signals transmitted to the user provide high-fidelity video and audio. Other types of data can also be transmitted to the user, such as closed captioning data, stock data, weather reports and the like. This data may be modulated onto an entire television signal channel, or a portion of the television signal channel, such as the vertical blanking interval, and recovered at a decoder in the user""s home.
Additionally, some cable networks provide an upstream communication path that allows a user to transmit signals to the headend, for example, to order pay-per-view programming, or to check on an account balance.
Furthermore, computer networks such as the Internet are growing rapidly in popularity, particularly among the general public who use the Internet for entertainment, educational, and informational purposes, and to communicate with other users. A user typically accesses the Internet via a PC and a telephone modem via a conventional duplex telephone line to download graphics, text and even audio and video data from various remote servers. Users may also communicate real-time with one another by transmitting data from a sender""s PC to the receiver""s PC. Thus, data is transmitted to and from the PC via the two-way telephone modem.
An important difference between telephone and cable or satellite television networks is bandwidth. Because telephone networks were built to carry only voice signals, the bandwidth is very limited, e.g., 3 KHz. In contrast, cable television and satellite networks are designed to deliver full-motion video and, as a result, have a much greater bandwidth, e.g., several hundred MHz or more.
Accordingly, the provision of Internet data services and the like on a cable or satellite network would be highly desirable due to the increased bandwidth available. Such an arrangement would greatly speed the response to the user""s PC, while providing additional marketing opportunities for cable and satellite network operators.
However, the provision of an upstream path is not feasible for satellite or terrestrial broadcast networks, including UHF, MMDS and LMDS. Moreover, many cable television networks are not configured for upstream communications, or any such provisioning may be limited and not suitable for handling transmissions from a larger number of users. In particular, network operators may prefer to maintain the available upstream path for significant revenue-enhancing activities such as pay-per-view orders.
Furthermore, since the cable/satellite channel is a broadcast channel, and the telephone line is a point-to-point channel, communication and addressing protocols that are available on a PC do not work seamlessly in the cable/satellite broadcast environment. Moreover, the communication and addressing protocols of a computer network are generally incompatible with cable and satellite television equipment.
Accordingly, it would be desirable to provide a system that allows a PC to receive data from a computer network such as the Internet via a downstream broadcast channel of a cable, satellite or terrestrial broadcast television network, while transmitting data to the computer network via an upstream telephone line. The system should provide compatibility with the routing/addressing conventions of the protocols stack used by the computer network.
In addition, the system should be designed so that packets with a cable modem source address are not rejected by the telephone network. Such rejection would occur if the telephone network provider uses anti-spoofing filters that reject packets with source addresses that are not recognized by the telephone network. Accordingly, the system should be designed to have the telephone network assigned source addresses on packets going through the telephone network.
The system should provide a logical path from a cable modem to a phone modem.
The system should provide a packet processing relay agent that implements functional enhancements including application level proxy, DHCP relay agent, IGMP proxy, IP encapsulation, IP filtering, data-link layer tunneling, data link layer filtering, and proxy ARP agents.
The present invention provides a system having the above and other advantages.
The present invention relates to a method and apparatus for allowing a personal computer, router/bridge or other device to receive data from a computer network such as the Internet via a broadcast channel of a cable, satellite or other terrestrial broadcast television network, while transmitting data upstream to the computer network via a telephone line. The invention thereby allows a user to quickly access and retrieve data from the computer network via a high bandwidth channel.
A particular method is presented for providing link layer forwarding from a one-way, receive-only adapter, such as a cable, satellite, terrestrial broadcast, or other wired or wireless modem, to the computer network using a two-way adapter, such as a telephone modem. Terrestrial broadcast systems, such as MMDS, employ line-of-sight terrestrial signals such as microwave signals. The one-way adapter receives data from a computer network via a first communication path, such as a cable television link or satellite link, and the two-way adapter receives data from, and sends data to, a service provider of the computer network via a second communication path, such as a telephone link. The service provider may be an ISP that allows a user to access a computer network such as the Internet.
A method for providing link layer forwarding from a one-way adapter to a two-way adapter includes the steps of: monitoring a data packet received at a data link layer driver of the one-way adapter, and determining whether the data packet is received from a higher protocol layer of the one-way adapter. The data packet is provided from the data link layer driver of the one-way adapter to the higher protocol layer if the data packet is not received from the higher protocol layer.
Essentially, if the data packet is not received from the higher protocol layer of the one-way adapter, it is likely received from a lower protocol layer, e.g., the physical layer comprising the one-way adapter. In this case, the data packet may include, for example, Internet data received via the first communication path.
The data packet is forwarded from the data link layer driver of the one-way adapter to a packet processing relay agent if the data packet is received from the higher protocol layer. The packet processing relay agent processes the data packet forwarded to it, then forwards the data packet to a data link layer driver of the two-way adapter. The data link layer driver of the two-way adapter provides the data packet for communication to the computer network via the service provider, e.g., by sending the packet upstream on the second communication path.
A further method in accordance with the present invention includes the steps of monitoring a data packet received at a data link layer driver of the two-way adapter, and determining whether the data packet is received from a higher protocol layer of the two-way adapter. The data packet is provided for communication to the computer network via the service provider if the data packet is received from the higher protocol layer.
The data packet is provided from the data link layer driver of the two-way adapter to the higher protocol layer if the data packet is not received from the higher protocol layer and is not addressed to the IP/network address of the one-way adapter. The data packet is forwarded from the data link layer driver of the two-way adapter to a packet processing relay agent if the data packet is not received from the higher protocol layer but is addressed to the IP/network address of the one-way adapter.
Essentially, if the data packet is not received from the higher protocol layer of the two-way adapter, it is received from a lower protocol layer, e.g., the physical layer comprising the two-way adapter. In this case, the data packet may include, for example, session initialization data received from the service provider.
The packet processing relay agent processes the data packet forwarded to it, then forwards the data packet to the data link layer driver of the one-way adapter.
The packet processing relay agent may process the data packet forwarded to it to provide functional enhancements including at least one of: application level proxy, DHCP relay agent, IGMP proxy, IP encapsulation, IP filtering, data-link layer tunneling, data-link layer filtering, and proxy ARP agent.
In one embodiment, in addition to the forwarding function, the packet processing relay agent processes the data packet forwarded to it by encapsulating the data packet as payload in a encapsulation packet. The encapsulation packet has a source address associated with the two-way adapter and a destination address associated with a decapsulation module. The decapsulation module may be at the cable operator""s network, or between the phone network (e.g., ISP) and the computer network (e.g., Internet). This allows the encapsulation packet to be recognized by the service provider even though the source address of the one-way adapter is not recognized by the service provider.
The decapsulation module, which is typically associated with the cable operator""s network, decapsulates the encapsulation packet to recover the data packet encapsulated therein. The recovered data packet has a destination address associated with a location in the computer network, and a source address associated with the one-way adapter. The recovered data packet is then forwarded to the location of the computer network, such as an Internet web site.
The packet processing relay agent is adapted to process the data packet forwarded to it to provide one or more of the functional enhancements mentioned above.
Corresponding apparatus structures are also presented.